home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume25 / screen3 / part02 < prev    next >
Encoding:
Text File  |  1991-12-19  |  88.4 KB  |  2,670 lines

  1. Newsgroups: comp.sources.unix
  2. From: jnweiger@immd4.informatik.uni-erlangen.de (Juergen Weigert)
  3. Subject: v25i042: Screen3 - multiple windows on an ASCII terminal, Part02/08
  4. Sender: sources-moderator@pa.dec.com
  5. Approved: vixie@pa.dec.com
  6.  
  7. Submitted-By: jnweiger@immd4.informatik.uni-erlangen.de (Juergen Weigert)
  8. Posting-Number: Volume 25, Issue 42
  9. Archive-Name: screen3/part02
  10.  
  11. #! /bin/sh
  12. # This is a shell archive.  Remove anything before this line, then unpack
  13. # it by saving it into a file and typing "sh file".  To overwrite existing
  14. # files, type "sh file -c".  You can also feed this as standard input via
  15. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  16. # will see the following message at the end:
  17. #        "End of archive 2 (of 8)."
  18. # Contents:  config.h config/config.mips config/config.rs6000
  19. #   config/config.sequent_ptx config/config.sgi config/config.sunos41
  20. #   config/config.svr4 config/config.ultrix31 config/config.xenix
  21. #   extern.h
  22. # Wrapped by vixie@cognition.pa.dec.com on Thu Dec 19 17:36:04 1991
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. if test -f 'config.h' -a "${1}" != "-c" ; then 
  25.   echo shar: Will not clobber existing file \"'config.h'\"
  26. else
  27. echo shar: Extracting \"'config.h'\" \(8140 characters\)
  28. sed "s/^X//" >'config.h' <<'END_OF_FILE'
  29. X/* Copyright (c) 1991
  30. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  31. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  32. X * Copyright (c) 1987 Oliver Laumann
  33. X *
  34. X * This program is free software; you can redistribute it and/or modify
  35. X * it under the terms of the GNU General Public License as published by
  36. X * the Free Software Foundation; either version 1, or (at your option)
  37. X * any later version.
  38. X *
  39. X * This program is distributed in the hope that it will be useful,
  40. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  41. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  42. X * GNU General Public License for more details.
  43. X *
  44. X * You should have received a copy of the GNU General Public License
  45. X * along with this program (see the file COPYING); if not, write to the
  46. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  47. X *
  48. X * Noteworthy contributors to screen's design and implementation:
  49. X *    Wayne Davison (davison@borland.com)
  50. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  51. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  52. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  53. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  54. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  55. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  56. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  57. X *    Marc Boucher (marc@CAM.ORG)
  58. X *
  59. X ****************************************************************
  60. X * $Id: config.ultrix31,v 1.7 91/10/06 11:59:08 jnweiger Exp $ FAU
  61. X */
  62. X
  63. X
  64. X/*
  65. X *        Beginning of User Configuration Section
  66. X *
  67. X * First off, you should decide if you intend to install screen set-uid to
  68. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  69. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  70. X * updated, and /dev/kmem to be accessed to read the load average values.
  71. X *
  72. X * An alternative to installing screen set-uid root is to install it set-gid
  73. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  74. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  75. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  76. X * updating and the /dev/kmem reading (see the following defines) and simply
  77. X * run screen as a regular program -- its major functions will be unaffected.
  78. X */
  79. X
  80. X
  81. X/*
  82. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  83. X */
  84. X#ifndef POSIX
  85. X# define POSIX
  86. X#endif
  87. X
  88. X/*
  89. X * Define BSDJOBS if you have BSD-style job control (both process
  90. X * groups and a tty that deals correctly with them).
  91. X */
  92. X#define BSDJOBS
  93. X
  94. X/*
  95. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  96. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  97. X * POSIX systems should define this anyway, even though they use
  98. X * struct termios.
  99. X */
  100. X#define TERMIO
  101. X
  102. X/*
  103. X * Define TERMINFO if your machine emulates the termcap routines
  104. X * with the terminfo database.
  105. X * Thus the .screenrc file is parsed for
  106. X * the command 'terminfo' and not 'termcap'.
  107. X */
  108. X#undef TERMINFO
  109. X
  110. X/*
  111. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  112. X */
  113. X#undef SYSV
  114. X
  115. X/*
  116. X * Define SIGVOID if your signal handlers return void.  On older
  117. X * systems, signal returns int, but on newer ones, it returns void.
  118. X */
  119. X#define SIGVOID 
  120. X
  121. X/*
  122. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  123. X */
  124. X#define DIRENT
  125. X
  126. X/*
  127. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  128. X */
  129. X#undef SUIDROOT
  130. X
  131. X/*
  132. X * If screen is installed with permissions to update /etc/utmp (such as if
  133. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  134. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  135. X */
  136. X#undef UTMPOK
  137. X#define LOGINDEFAULT    0
  138. X
  139. X/*
  140. X * If your system has getutent(), pututline(), etc. to write to the
  141. X * utmp file, define GETUTENT.
  142. X */
  143. X#undef GETUTENT
  144. X
  145. X/*
  146. X * Define UTHOST if the utmp file has a host field.
  147. X */
  148. X#undef UTHOST
  149. X
  150. X/*
  151. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  152. X * counting non-null entries in /etc/utmp (instead of counting non-null
  153. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  154. X * to have screen put an upper-limit on the number of entries to write
  155. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  156. X * license.
  157. X */
  158. X#undef USRLIMIT
  159. X
  160. X/*
  161. X * If screen is NOT installed set-uid root, screen can provide tty security
  162. X * by exclusively locking the ptys.  While this keeps other users from
  163. X * opening your ptys, it also keeps your own subprocesses from being able
  164. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  165. X */
  166. X#undef LOCKPTY
  167. X
  168. X/*
  169. X * If your system does not have the calls setreuid() and setregid(), define
  170. X * NOREUID to force screen to use a forked process to safely create output
  171. X * files without retaining any special privileges.  (Output logging will be
  172. X * disabled, however.)
  173. X */
  174. X#undef NOREUID
  175. X
  176. X/*
  177. X * If you want the "time" command to display the current load average
  178. X * you must install screen with the needed privileges to read /dev/kmem
  179. X * and have a load average format that screen understands.  We handle the
  180. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  181. X */
  182. X#define  LOADAV_3DOUBLES
  183. X#undef LOADAV_3LONGS
  184. X#undef  LOADAV_4LONGS
  185. X
  186. X/*
  187. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  188. X * getttyent(3) library functions, define GETTTYENT.
  189. X */
  190. X#define GETTTYENT
  191. X
  192. X/*
  193. X * If your version of NFS supports named sockets and you install screen
  194. X * suid root, you may need to define NFS_HACK for screen to be able to
  195. X * open the sockets.
  196. X */
  197. X#undef NFS_HACK
  198. X
  199. X/*
  200. X * By default screen will create a directory named ".screen" in the user's
  201. X * HOME directory to contain the named sockets.  If this causes you problems
  202. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  203. X * named sockets) you can have screen create the socket directories in a
  204. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  205. X * more secure if you choose a directory where the "sticky" bit is on, but
  206. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  207. X * (e.g /tmp/S-davison).
  208. X * Do not define TMPTEST unless it's for debugging purpose.
  209. X * If you want to have your socket directory in "/tmp/screens" then
  210. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  211. X */
  212. X#define LOCALSOCKDIR
  213. X#define TMPTEST
  214. X
  215. X#ifdef LOCALSOCKDIR
  216. X# ifndef TMPTEST
  217. X#  define SOCKDIR "/local/screens"
  218. X# else
  219. X#  define SOCKDIR "/tmp/screens"
  220. X# endif
  221. X#endif
  222. X
  223. X/*
  224. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  225. X * overlapping of source and destination blocks.  When undefined, screen
  226. X * uses its own (probably slower) version of bcopy().
  227. X */
  228. X#undef USEBCOPY
  229. X
  230. X/*
  231. X * If you'd rather see the status line on the first line of your
  232. X * terminal rather than the last, define TOPSTAT.
  233. X */
  234. X#undef TOPSTAT
  235. X
  236. X/*
  237. X * If your system has vsprintf() and requires the use of the macros in
  238. X * "varargs.h" to use functions with variable arguments,
  239. X * define USEVARARGS.
  240. X */
  241. X#undef USEVARARGS
  242. X
  243. X/*
  244. X * Define this if your system supports named pipes.
  245. X */
  246. X#define NAMEDPIPE
  247. X
  248. X/*
  249. X * here come the erlangen extensions to screen:
  250. X * define LOCK if you want to use a lock program for a screenlock.
  251. X * define PASSWORD for secure reattach of your screen.
  252. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  253. X * define POW_DETACH to have a detach_and_logout key.
  254. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  255. X * (jw)
  256. X */
  257. X#define LOCK
  258. X#define PASSWORD
  259. X#define COPY_PASTE
  260. X#define REMOTE_DETACH
  261. X#define POW_DETACH
  262. X
  263. X/*
  264. X * As error messages are mostly meaningless to the user, we
  265. X * try to throw out phrases that are somewhat more familiar
  266. X * to ...well, at least familiar to us NetHack players.
  267. X */
  268. X#define NETHACK
  269. X
  270. X/*
  271. X * and another sneaky feature: screen sources two startup files.
  272. X * first a global file with a path specified here, second
  273. X * your local $HOME/.screenrc
  274. X * Don't define this, if you don't want it.
  275. X */
  276. X#undef ETCSCREENRC "/local/etc/screenrc"
  277. X
  278. X/*
  279. X *    End of User Configuration Section
  280. X */
  281. X
  282. X
  283. X#define NEEDSETENV
  284. END_OF_FILE
  285. if test 8140 -ne `wc -c <'config.h'`; then
  286.     echo shar: \"'config.h'\" unpacked with wrong size!
  287. fi
  288. # end of 'config.h'
  289. fi
  290. if test -f 'config/config.mips' -a "${1}" != "-c" ; then 
  291.   echo shar: Will not clobber existing file \"'config/config.mips'\"
  292. else
  293. echo shar: Extracting \"'config/config.mips'\" \(8176 characters\)
  294. sed "s/^X//" >'config/config.mips' <<'END_OF_FILE'
  295. X/* Copyright (c) 1991
  296. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  297. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  298. X * Copyright (c) 1987 Oliver Laumann
  299. X *
  300. X * This program is free software; you can redistribute it and/or modify
  301. X * it under the terms of the GNU General Public License as published by
  302. X * the Free Software Foundation; either version 1, or (at your option)
  303. X * any later version.
  304. X *
  305. X * This program is distributed in the hope that it will be useful,
  306. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  307. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  308. X * GNU General Public License for more details.
  309. X *
  310. X * You should have received a copy of the GNU General Public License
  311. X * along with this program (see the file COPYING); if not, write to the
  312. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  313. X *
  314. X * Noteworthy contributors to screen's design and implementation:
  315. X *    Wayne Davison (davison@borland.com)
  316. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  317. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  318. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  319. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  320. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  321. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  322. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  323. X *    Marc Boucher (marc@CAM.ORG)
  324. X *
  325. X ****************************************************************
  326. X * $Id: config.mips,v 1.7 91/10/06 11:58:46 jnweiger Exp $ FAU
  327. X */
  328. X
  329. X/****************************************************************
  330. X * This file is by  Markku J{rvinen (mta@cc.tut.fi). It was done for a
  331. X * MIPS RC6280 running RiscOS 4.52. 
  332. X *
  333. X ********************************************************** 
  334. X */
  335. X
  336. X
  337. X/*
  338. X *        Beginning of User Configuration Section
  339. X *
  340. X * First off, you should decide if you intend to install screen set-uid to
  341. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  342. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  343. X * updated, and /dev/kmem to be accessed to read the load average values.
  344. X *
  345. X * An alternative to installing screen set-uid root is to install it set-gid
  346. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  347. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  348. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  349. X * updating and the /dev/kmem reading (see the following defines) and simply
  350. X * run screen as a regular program -- its major functions will be unaffected.
  351. X */
  352. X
  353. X
  354. X/*
  355. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  356. X */
  357. X#undef  POSIX
  358. X
  359. X/*
  360. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  361. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  362. X * POSIX systems should define this anyway, even though they use
  363. X * struct termios.
  364. X */
  365. X#undef  TERMIO
  366. X
  367. X/*
  368. X * Define TERMINFO if your machine emulates the termcap routines
  369. X * with the terminfo database.
  370. X * Thus the .screenrc file is parsed for
  371. X * the command 'terminfo' and not 'termcap'.
  372. X */
  373. X#undef TERMINFO
  374. X
  375. X/*
  376. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  377. X */
  378. X#undef SYSV
  379. X
  380. X/*
  381. X * Define SIGVOID if your signal handlers return void.  On older
  382. X * systems, signal returns int, but on newer ones, it returns void.
  383. X */
  384. X#undef  SIGVOID 
  385. X
  386. X/*
  387. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  388. X */
  389. X#undef  DIRENT
  390. X
  391. X/*
  392. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  393. X */
  394. X#define SUIDROOT
  395. X
  396. X/*
  397. X * If screen is installed with permissions to update /etc/utmp (such as if
  398. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  399. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  400. X */
  401. X#define UTMPOK
  402. X#define LOGINDEFAULT    0
  403. X
  404. X/*
  405. X * If your system has getutent(), pututline(), etc. to write to the
  406. X * utmp file, define GETUTENT.
  407. X */
  408. X#undef GETUTENT
  409. X
  410. X/*
  411. X * Define UTHOST if the utmp file has a host field.
  412. X */
  413. X#undef  UTHOST
  414. X
  415. X/*
  416. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  417. X * counting non-null entries in /etc/utmp (instead of counting non-null
  418. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  419. X * to have screen put an upper-limit on the number of entries to write
  420. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  421. X * license.
  422. X */
  423. X#undef USRLIMIT
  424. X
  425. X/*
  426. X * If screen is NOT installed set-uid root, screen can provide tty security
  427. X * by exclusively locking the ptys.  While this keeps other users from
  428. X * opening your ptys, it also keeps your own subprocesses from being able
  429. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  430. X */
  431. X#undef LOCKPTY
  432. X
  433. X/*
  434. X * If your system does not have the calls setreuid() and setregid(), define
  435. X * NOREUID to force screen to use a forked process to safely create output
  436. X * files without retaining any special privileges.  (Output logging will be
  437. X * disabled, however.)
  438. X */
  439. X#undef NOREUID
  440. X
  441. X/*
  442. X * If you want the "time" command to display the current load average
  443. X * you must install screen with the needed privileges to read /dev/kmem
  444. X * and have a load average format that screen understands.  We handle the
  445. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  446. X */
  447. X#undef  LOADAV_3DOUBLES
  448. X#define LOADAV_3LONGS
  449. X#undef  LOADAV_4LONGS
  450. X
  451. X/*
  452. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  453. X * getttyent(3) library functions, define GETTTYENT.
  454. X */
  455. X#undef GETTTYENT
  456. X
  457. X/*
  458. X * If your version of NFS supports named sockets and you install screen
  459. X * suid root, you may need to define NFS_HACK for screen to be able to
  460. X * open the sockets.
  461. X */
  462. X#undef NFS_HACK
  463. X
  464. X/*
  465. X * By default screen will create a directory named ".screen" in the user's
  466. X * HOME directory to contain the named sockets.  If this causes you problems
  467. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  468. X * named sockets) you can have screen create the socket directories in a
  469. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  470. X * more secure if you choose a directory where the "sticky" bit is on, but
  471. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  472. X * (e.g /tmp/S-davison).
  473. X * Do not define TMPTEST unless it's for debugging purpose.
  474. X * If you want to have your socket directory in "/tmp/screens" then
  475. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  476. X */
  477. X#undef  LOCALSOCKDIR
  478. X
  479. X#ifdef LOCALSOCKDIR
  480. X# ifndef TMPTEST
  481. X#  define SOCKDIR "/tmp/screens"
  482. X# else
  483. X#  define SOCKDIR "/tmp/testscreens"
  484. X# endif
  485. X#endif
  486. X
  487. X/*
  488. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  489. X * overlapping of source and destination blocks.  When undefined, screen
  490. X * uses its own (probably slower) version of bcopy().
  491. X */
  492. X#undef USEBCOPY
  493. X
  494. X/*
  495. X * If you'd rather see the status line on the first line of your
  496. X * terminal rather than the last, define TOPSTAT.
  497. X */
  498. X#undef TOPSTAT
  499. X
  500. X/*
  501. X * If your system has vsprintf() and requires the use of the macros in
  502. X * "varargs.h" to use functions with variable arguments,
  503. X * define USEVARARGS.
  504. X */
  505. X#undef USEVARARGS
  506. X
  507. X/*
  508. X * Define this if your system supports named pipes.
  509. X */
  510. X#define NAMEDPIPE
  511. X
  512. X/*
  513. X * here come the erlangen extensions to screen:
  514. X * define LOCK if you want to use a lock program for a screenlock.
  515. X * define PASSWORD for secure reattach of your screen.
  516. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  517. X * define POW_DETACH to have a detach_and_logout key.
  518. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  519. X * (jw)
  520. X */
  521. X#define LOCK
  522. X#define PASSWORD
  523. X#define COPY_PASTE
  524. X#define REMOTE_DETACH
  525. X#define POW_DETACH
  526. X
  527. X/*
  528. X * As error messages are mostly meaningless to the user, we
  529. X * try to throw out phrases that are somewhat more familiar
  530. X * to ...well, at least familiar to us NetHack players.
  531. X */
  532. X#define NETHACK
  533. X
  534. X/*
  535. X * and another sneaky feature: screen sources two startup files.
  536. X * first a global file with a path specified here, second
  537. X * your local $HOME/.screenrc
  538. X * Don't define this, if you don't want it.
  539. X */
  540. X#define ETCSCREENRC "/etc/screenrc"
  541. X
  542. X/*
  543. X *    End of User Configuration Section
  544. X */
  545. END_OF_FILE
  546. if test 8176 -ne `wc -c <'config/config.mips'`; then
  547.     echo shar: \"'config/config.mips'\" unpacked with wrong size!
  548. fi
  549. # end of 'config/config.mips'
  550. fi
  551. if test -f 'config/config.rs6000' -a "${1}" != "-c" ; then 
  552.   echo shar: Will not clobber existing file \"'config/config.rs6000'\"
  553. else
  554. echo shar: Extracting \"'config/config.rs6000'\" \(8086 characters\)
  555. sed "s/^X//" >'config/config.rs6000' <<'END_OF_FILE'
  556. X/* Copyright (c) 1991
  557. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  558. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  559. X * Copyright (c) 1987 Oliver Laumann
  560. X *
  561. X * This program is free software; you can redistribute it and/or modify
  562. X * it under the terms of the GNU General Public License as published by
  563. X * the Free Software Foundation; either version 1, or (at your option)
  564. X * any later version.
  565. X *
  566. X * This program is distributed in the hope that it will be useful,
  567. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  568. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  569. X * GNU General Public License for more details.
  570. X *
  571. X * You should have received a copy of the GNU General Public License
  572. X * along with this program (see the file COPYING); if not, write to the
  573. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  574. X *
  575. X * Noteworthy contributors to screen's design and implementation:
  576. X *    Wayne Davison (davison@borland.com)
  577. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  578. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  579. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  580. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  581. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  582. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  583. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  584. X *    Marc Boucher (marc@CAM.ORG)
  585. X *
  586. X ****************************************************************
  587. X * $Id: config.rs6000,v 1.11 91/10/06 11:58:56 jnweiger Exp $ FAU
  588. X */
  589. X
  590. X
  591. X/*
  592. X *        Beginning of User Configuration Section
  593. X *
  594. X * First off, you should decide if you intend to install screen set-uid to
  595. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  596. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  597. X * updated, and /dev/kmem to be accessed to read the load average values.
  598. X *
  599. X * An alternative to installing screen set-uid root is to install it set-gid
  600. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  601. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  602. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  603. X * updating and the /dev/kmem reading (see the following defines) and simply
  604. X * run screen as a regular program -- its major functions will be unaffected.
  605. X */
  606. X
  607. X
  608. X/*
  609. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  610. X */
  611. X#define POSIX
  612. X
  613. X/*
  614. X * Define BSDJOBS if you have BSD-style job control (both process
  615. X * groups and a tty that deals correctly with them).
  616. X */
  617. X#define BSDJOBS
  618. X
  619. X/*
  620. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  621. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  622. X * POSIX systems should define this anyway, even though they use
  623. X * struct termios.
  624. X */
  625. X#define TERMIO
  626. X
  627. X/*
  628. X * Define TERMINFO if your machine emulates the termcap routines
  629. X * with the terminfo database.
  630. X * Thus the .screenrc file is parsed for
  631. X * the command 'terminfo' and not 'termcap'.
  632. X */
  633. X#undef TERMINFO
  634. X
  635. X/*
  636. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  637. X */
  638. X#define SYSV
  639. X
  640. X/*
  641. X * Define SIGVOID if your signal handlers return void.  On older
  642. X * systems, signal returns int, but on newer ones, it returns void.
  643. X */
  644. X#define SIGVOID 
  645. X
  646. X/*
  647. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  648. X */
  649. X#define DIRENT
  650. X
  651. X/*
  652. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  653. X */
  654. X#define SUIDROOT
  655. X
  656. X/*
  657. X * If screen is installed with permissions to update /etc/utmp (such as if
  658. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  659. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  660. X */
  661. X#define UTMPOK
  662. X#define LOGINDEFAULT    1
  663. X
  664. X/*
  665. X * If your system has getutent(), pututline(), etc. to write to the
  666. X * utmp file, define GETUTENT.
  667. X */
  668. X#define GETUTENT
  669. X
  670. X/*
  671. X * Define UTHOST if the utmp file has a host field.
  672. X */
  673. X#define UTHOST
  674. X
  675. X/*
  676. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  677. X * counting non-null entries in /etc/utmp (instead of counting non-null
  678. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  679. X * to have screen put an upper-limit on the number of entries to write
  680. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  681. X * license.
  682. X */
  683. X#undef USRLIMIT
  684. X
  685. X/*
  686. X * If screen is NOT installed set-uid root, screen can provide tty security
  687. X * by exclusively locking the ptys.  While this keeps other users from
  688. X * opening your ptys, it also keeps your own subprocesses from being able
  689. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  690. X */
  691. X#undef LOCKPTY
  692. X
  693. X/*
  694. X * If your system does not have the calls setreuid() and setregid(), define
  695. X * NOREUID to force screen to use a forked process to safely create output
  696. X * files without retaining any special privileges.  (Output logging will be
  697. X * disabled, however.)
  698. X */
  699. X#define NOREUID
  700. X
  701. X/*
  702. X * If you want the "time" command to display the current load average
  703. X * you must install screen with the needed privileges to read /dev/kmem
  704. X * and have a load average format that screen understands.  We handle the
  705. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  706. X */
  707. X#undef  LOADAV_3DOUBLES
  708. X#undef  LOADAV_3LONGS
  709. X#undef  LOADAV_4LONGS
  710. X
  711. X/*
  712. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  713. X * getttyent(3) library functions, define GETTTYENT.
  714. X */
  715. X#undef GETTTYENT
  716. X
  717. X/*
  718. X * If your version of NFS supports named sockets and you install screen
  719. X * suid root, you may need to define NFS_HACK for screen to be able to
  720. X * open the sockets.
  721. X */
  722. X#undef NFS_HACK
  723. X
  724. X/*
  725. X * By default screen will create a directory named ".screen" in the user's
  726. X * HOME directory to contain the named sockets.  If this causes you problems
  727. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  728. X * named sockets) you can have screen create the socket directories in a
  729. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  730. X * more secure if you choose a directory where the "sticky" bit is on, but
  731. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  732. X * (e.g /tmp/S-davison).
  733. X * Do not define TMPTEST unless it's for debugging purpose.
  734. X * If you want to have your socket directory in "/tmp/screens" then
  735. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  736. X */
  737. X#define LOCALSOCKDIR
  738. X
  739. X#ifdef LOCALSOCKDIR
  740. X# ifndef TMPTEST
  741. X#  define SOCKDIR "/local/screens"
  742. X# else
  743. X#  define SOCKDIR "/tmp/screens"
  744. X# endif
  745. X#endif
  746. X
  747. X/*
  748. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  749. X * overlapping of source and destination blocks.  When undefined, screen
  750. X * uses its own (probably slower) version of bcopy().
  751. X */
  752. X#undef USEBCOPY
  753. X
  754. X/*
  755. X * If you'd rather see the status line on the first line of your
  756. X * terminal rather than the last, define TOPSTAT.
  757. X */
  758. X#undef TOPSTAT
  759. X
  760. X/*
  761. X * If your system has vsprintf() and requires the use of the macros in
  762. X * "varargs.h" to use functions with variable arguments,
  763. X * define USEVARARGS.
  764. X */
  765. X#undef USEVARARGS
  766. X
  767. X/*
  768. X * Define this if your system supports named pipes.
  769. X */
  770. X#define NAMEDPIPE
  771. X
  772. X/*
  773. X * here come the erlangen extensions to screen:
  774. X * define LOCK if you want to use a lock program for a screenlock.
  775. X * define PASSWORD for secure reattach of your screen.
  776. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  777. X * define POW_DETACH to have a detach_and_logout key.
  778. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  779. X * (jw)
  780. X */
  781. X#define LOCK
  782. X#define PASSWORD
  783. X#define COPY_PASTE
  784. X#define REMOTE_DETACH
  785. X#define POW_DETACH
  786. X
  787. X/*
  788. X * As error messages are mostly meaningless to the user, we
  789. X * try to throw out phrases that are somewhat more familiar
  790. X * to ...well, at least familiar to us NetHack players.
  791. X */
  792. X#define NETHACK
  793. X
  794. X/*
  795. X * and another sneaky feature: screen sources two startup files.
  796. X * first a global file with a path specified here, second
  797. X * your local $HOME/.screenrc
  798. X * Don't define this, if you don't want it.
  799. X */
  800. X#define ETCSCREENRC "/local/etc/screenrc"
  801. X
  802. X/*
  803. X *    End of User Configuration Section
  804. X */
  805. END_OF_FILE
  806. if test 8086 -ne `wc -c <'config/config.rs6000'`; then
  807.     echo shar: \"'config/config.rs6000'\" unpacked with wrong size!
  808. fi
  809. # end of 'config/config.rs6000'
  810. fi
  811. if test -f 'config/config.sequent_ptx' -a "${1}" != "-c" ; then 
  812.   echo shar: Will not clobber existing file \"'config/config.sequent_ptx'\"
  813. else
  814. echo shar: Extracting \"'config/config.sequent_ptx'\" \(8091 characters\)
  815. sed "s/^X//" >'config/config.sequent_ptx' <<'END_OF_FILE'
  816. X/* Copyright (c) 1991
  817. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  818. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  819. X * Copyright (c) 1987 Oliver Laumann
  820. X *
  821. X * This program is free software; you can redistribute it and/or modify
  822. X * it under the terms of the GNU General Public License as published by
  823. X * the Free Software Foundation; either version 1, or (at your option)
  824. X * any later version.
  825. X *
  826. X * This program is distributed in the hope that it will be useful,
  827. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  828. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  829. X * GNU General Public License for more details.
  830. X *
  831. X * You should have received a copy of the GNU General Public License
  832. X * along with this program (see the file COPYING); if not, write to the
  833. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  834. X *
  835. X * Noteworthy contributors to screen's design and implementation:
  836. X *    Wayne Davison (davison@borland.com)
  837. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  838. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  839. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  840. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  841. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  842. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  843. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  844. X *    Marc Boucher (marc@CAM.ORG)
  845. X *
  846. X ****************************************************************
  847. X * $Id: config.sequent_ptx,v 1.14 91/10/06 11:58:57 jnweiger Exp $ FAU
  848. X */
  849. X
  850. X
  851. X/*
  852. X *        Beginning of User Configuration Section
  853. X *
  854. X * First off, you should decide if you intend to install screen set-uid to
  855. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  856. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  857. X * updated, and /dev/kmem to be accessed to read the load average values.
  858. X *
  859. X * An alternative to installing screen set-uid root is to install it set-gid
  860. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  861. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  862. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  863. X * updating and the /dev/kmem reading (see the following defines) and simply
  864. X * run screen as a regular program -- its major functions will be unaffected.
  865. X */
  866. X
  867. X
  868. X/*
  869. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  870. X */
  871. X#define POSIX
  872. X
  873. X/*
  874. X * Define BSDJOBS if you have BSD-style job control (both process
  875. X * groups and a tty that deals correctly with them).
  876. X */
  877. X#define BSDJOBS
  878. X
  879. X/*
  880. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  881. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  882. X * POSIX systems should define this anyway, even though they use
  883. X * struct termios.
  884. X */
  885. X#define TERMIO
  886. X
  887. X/*
  888. X * Define TERMINFO if your machine emulates the termcap routines
  889. X * with the terminfo database.
  890. X * Thus the .screenrc file is parsed for
  891. X * the command 'terminfo' and not 'termcap'.
  892. X */
  893. X#define TERMINFO
  894. X
  895. X/*
  896. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  897. X */
  898. X#define SYSV
  899. X
  900. X/*
  901. X * Define SIGVOID if your signal handlers return void.  On older
  902. X * systems, signal returns int, but on newer ones, it returns void.
  903. X */
  904. X#define SIGVOID 
  905. X
  906. X/*
  907. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  908. X */
  909. X#define DIRENT
  910. X
  911. X/*
  912. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  913. X */
  914. X#define SUIDROOT
  915. X
  916. X/*
  917. X * If screen is installed with permissions to update /etc/utmp (such as if
  918. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  919. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  920. X */
  921. X#define UTMPOK
  922. X#define LOGINDEFAULT    1
  923. X
  924. X/*
  925. X * If your system has getutent(), pututline(), etc. to write to the
  926. X * utmp file, define GETUTENT.
  927. X */
  928. X#define GETUTENT
  929. X
  930. X/*
  931. X * Define UTHOST if the utmp file has a host field.
  932. X */
  933. X#define UTHOST
  934. X
  935. X/*
  936. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  937. X * counting non-null entries in /etc/utmp (instead of counting non-null
  938. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  939. X * to have screen put an upper-limit on the number of entries to write
  940. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  941. X * license.
  942. X */
  943. X#undef USRLIMIT
  944. X
  945. X/*
  946. X * If screen is NOT installed set-uid root, screen can provide tty security
  947. X * by exclusively locking the ptys.  While this keeps other users from
  948. X * opening your ptys, it also keeps your own subprocesses from being able
  949. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  950. X */
  951. X#undef LOCKPTY
  952. X
  953. X/*
  954. X * If your system does not have the calls setreuid() and setregid(), define
  955. X * NOREUID to force screen to use a forked process to safely create output
  956. X * files without retaining any special privileges.  (Output logging will be
  957. X * disabled, however.)
  958. X */
  959. X#define NOREUID
  960. X
  961. X/*
  962. X * If you want the "time" command to display the current load average
  963. X * you must install screen with the needed privileges to read /dev/kmem
  964. X * and have a load average format that screen understands.  We handle the
  965. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  966. X */
  967. X#undef  LOADAV_3DOUBLES
  968. X#define LOADAV_3LONGS
  969. X#undef  LOADAV_4LONGS
  970. X
  971. X/*
  972. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  973. X * getttyent(3) library functions, define GETTTYENT.
  974. X */
  975. X#undef GETTTYENT
  976. X
  977. X/*
  978. X * If your version of NFS supports named sockets and you install screen
  979. X * suid root, you may need to define NFS_HACK for screen to be able to
  980. X * open the sockets.
  981. X */
  982. X#undef NFS_HACK
  983. X
  984. X/*
  985. X * By default screen will create a directory named ".screen" in the user's
  986. X * HOME directory to contain the named sockets.  If this causes you problems
  987. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  988. X * named sockets) you can have screen create the socket directories in a
  989. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  990. X * more secure if you choose a directory where the "sticky" bit is on, but
  991. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  992. X * (e.g /tmp/S-davison).
  993. X * Do not define TMPTEST unless it's for debugging purpose.
  994. X * If you want to have your socket directory in "/tmp/screens" then
  995. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  996. X */
  997. X#define LOCALSOCKDIR
  998. X
  999. X#ifdef LOCALSOCKDIR
  1000. X# ifndef TMPTEST
  1001. X#  define SOCKDIR "/local/screens"
  1002. X# else
  1003. X#  define SOCKDIR "/tmp/screens"
  1004. X# endif
  1005. X#endif
  1006. X
  1007. X/*
  1008. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  1009. X * overlapping of source and destination blocks.  When undefined, screen
  1010. X * uses its own (probably slower) version of bcopy().
  1011. X */
  1012. X#undef USEBCOPY
  1013. X
  1014. X/*
  1015. X * If you'd rather see the status line on the first line of your
  1016. X * terminal rather than the last, define TOPSTAT.
  1017. X */
  1018. X#undef TOPSTAT
  1019. X
  1020. X/*
  1021. X * If your system has vsprintf() and requires the use of the macros in
  1022. X * "varargs.h" to use functions with variable arguments,
  1023. X * define USEVARARGS.
  1024. X */
  1025. X#undef USEVARARGS
  1026. X
  1027. X/*
  1028. X * Define this if your system supports named pipes.
  1029. X */
  1030. X#undef NAMEDPIPE
  1031. X
  1032. X/*
  1033. X * here come the erlangen extensions to screen:
  1034. X * define LOCK if you want to use a lock program for a screenlock.
  1035. X * define PASSWORD for secure reattach of your screen.
  1036. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  1037. X * define POW_DETACH to have a detach_and_logout key.
  1038. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  1039. X * (jw)
  1040. X */
  1041. X#define LOCK
  1042. X#define PASSWORD
  1043. X#define COPY_PASTE
  1044. X#define REMOTE_DETACH
  1045. X#define POW_DETACH
  1046. X
  1047. X/*
  1048. X * As error messages are mostly meaningless to the user, we
  1049. X * try to throw out phrases that are somewhat more familiar
  1050. X * to ...well, at least familiar to us NetHack players.
  1051. X */
  1052. X#undef NETHACK 
  1053. X
  1054. X/*
  1055. X * and another sneaky feature: screen sources two startup files.
  1056. X * first a global file with a path specified here, second
  1057. X * your local $HOME/.screenrc
  1058. X * Don't define this, if you don't want it.
  1059. X */
  1060. X#define ETCSCREENRC "/local/etc/screenrc"
  1061. X
  1062. X/*
  1063. X *    End of User Configuration Section
  1064. X */
  1065. END_OF_FILE
  1066. if test 8091 -ne `wc -c <'config/config.sequent_ptx'`; then
  1067.     echo shar: \"'config/config.sequent_ptx'\" unpacked with wrong size!
  1068. fi
  1069. # end of 'config/config.sequent_ptx'
  1070. fi
  1071. if test -f 'config/config.sgi' -a "${1}" != "-c" ; then 
  1072.   echo shar: Will not clobber existing file \"'config/config.sgi'\"
  1073. else
  1074. echo shar: Extracting \"'config/config.sgi'\" \(8207 characters\)
  1075. sed "s/^X//" >'config/config.sgi' <<'END_OF_FILE'
  1076. X/* Copyright (c) 1991
  1077. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  1078. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  1079. X * Copyright (c) 1987 Oliver Laumann
  1080. X *
  1081. X * This program is free software; you can redistribute it and/or modify
  1082. X * it under the terms of the GNU General Public License as published by
  1083. X * the Free Software Foundation; either version 1, or (at your option)
  1084. X * any later version.
  1085. X *
  1086. X * This program is distributed in the hope that it will be useful,
  1087. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1088. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1089. X * GNU General Public License for more details.
  1090. X *
  1091. X * You should have received a copy of the GNU General Public License
  1092. X * along with this program (see the file COPYING); if not, write to the
  1093. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1094. X *
  1095. X * Noteworthy contributors to screen's design and implementation:
  1096. X *    Wayne Davison (davison@borland.com)
  1097. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  1098. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  1099. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  1100. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  1101. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  1102. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  1103. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  1104. X *    Marc Boucher (marc@CAM.ORG)
  1105. X *
  1106. X ****************************************************************
  1107. X * $Id: config.sgi,v 1.4 91/10/06 11:58:59 jnweiger Exp $ FAU
  1108. X */
  1109. X
  1110. X/****************************************************************
  1111. X * This file is by Andrea Malagoli (alagoli@mhd4.uchicago.edu).
  1112. X * It was done for a SGI MIPS Iris4D/20 running Irix 3.3.2.
  1113. X ********************************************************** 
  1114. X */
  1115. X
  1116. X
  1117. X/*
  1118. X *        Beginning of User Configuration Section
  1119. X *
  1120. X * First off, you should decide if you intend to install screen set-uid to
  1121. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  1122. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  1123. X * updated, and /dev/kmem to be accessed to read the load average values.
  1124. X *
  1125. X * An alternative to installing screen set-uid root is to install it set-gid
  1126. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  1127. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  1128. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  1129. X * updating and the /dev/kmem reading (see the following defines) and simply
  1130. X * run screen as a regular program -- its major functions will be unaffected.
  1131. X */
  1132. X
  1133. X
  1134. X/*
  1135. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  1136. X */
  1137. X#undef  POSIX
  1138. X
  1139. X/*
  1140. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  1141. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  1142. X * POSIX systems should define this anyway, even though they use
  1143. X * struct termios.
  1144. X */
  1145. X#define  TERMIO
  1146. X
  1147. X/*
  1148. X * Define TERMINFO if your machine emulates the termcap routines
  1149. X * with the terminfo database.
  1150. X * Thus the .screenrc file is parsed for
  1151. X * the command 'terminfo' and not 'termcap'.
  1152. X */
  1153. X#define TERMINFO
  1154. X
  1155. X/*
  1156. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  1157. X */
  1158. X#define SYSV
  1159. X
  1160. X/*
  1161. X * Define SIGVOID if your signal handlers return void.  On older
  1162. X * systems, signal returns int, but on newer ones, it returns void.
  1163. X */
  1164. X#define  SIGVOID 
  1165. X
  1166. X/*
  1167. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  1168. X */
  1169. X#define  DIRENT
  1170. X
  1171. X/*
  1172. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  1173. X */
  1174. X#define SUIDROOT
  1175. X
  1176. X/*
  1177. X * If screen is installed with permissions to update /etc/utmp (such as if
  1178. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  1179. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  1180. X */
  1181. X#undef UTMPOK
  1182. X#define LOGINDEFAULT    0
  1183. X
  1184. X/*
  1185. X * If your system has getutent(), pututline(), etc. to write to the
  1186. X * utmp file, define GETUTENT.
  1187. X */
  1188. X#undef GETUTENT
  1189. X
  1190. X/*
  1191. X * Define UTHOST if the utmp file has a host field.
  1192. X */
  1193. X#undef  UTHOST
  1194. X
  1195. X/*
  1196. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  1197. X * counting non-null entries in /etc/utmp (instead of counting non-null
  1198. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  1199. X * to have screen put an upper-limit on the number of entries to write
  1200. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  1201. X * license.
  1202. X */
  1203. X#undef USRLIMIT
  1204. X
  1205. X/*
  1206. X * If screen is NOT installed set-uid root, screen can provide tty security
  1207. X * by exclusively locking the ptys.  While this keeps other users from
  1208. X * opening your ptys, it also keeps your own subprocesses from being able
  1209. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  1210. X */
  1211. X#undef LOCKPTY
  1212. X
  1213. X/*
  1214. X * If your system does not have the calls setreuid() and setregid(), define
  1215. X * NOREUID to force screen to use a forked process to safely create output
  1216. X * files without retaining any special privileges.  (Output logging will be
  1217. X * disabled, however.)
  1218. X */
  1219. X#undef NOREUID
  1220. X
  1221. X/*
  1222. X * If you want the "time" command to display the current load average
  1223. X * you must install screen with the needed privileges to read /dev/kmem
  1224. X * and have a load average format that screen understands.  We handle the
  1225. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  1226. X */
  1227. X#undef  LOADAV
  1228. X#undef  LOADAV_3DOUBLES
  1229. X#undef  LOADAV_3LONGS
  1230. X#undef  LOADAV_4LONGS
  1231. X
  1232. X/*
  1233. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  1234. X * getttyent(3) library functions, define GETTTYENT.
  1235. X */
  1236. X#undef GETTTYENT
  1237. X
  1238. X/*
  1239. X * If your version of NFS supports named sockets and you install screen
  1240. X * suid root, you may need to define NFS_HACK for screen to be able to
  1241. X * open the sockets.
  1242. X */
  1243. X#undef NFS_HACK
  1244. X
  1245. X/*
  1246. X * By default screen will create a directory named ".screen" in the user's
  1247. X * HOME directory to contain the named sockets.  If this causes you problems
  1248. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  1249. X * named sockets) you can have screen create the socket directories in a
  1250. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  1251. X * more secure if you choose a directory where the "sticky" bit is on, but
  1252. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  1253. X * (e.g /tmp/S-davison).
  1254. X * Do not define TMPTEST unless it's for debugging purpose.
  1255. X * If you want to have your socket directory in "/tmp/screens" then
  1256. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  1257. X */
  1258. X#undef  LOCALSOCKDIR
  1259. X
  1260. X#ifdef LOCALSOCKDIR
  1261. X# ifndef TMPTEST
  1262. X#  define SOCKDIR "/tmp/screens"
  1263. X# else
  1264. X#  define SOCKDIR "/tmp/testscreens"
  1265. X# endif
  1266. X#endif
  1267. X
  1268. X/*
  1269. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  1270. X * overlapping of source and destination blocks.  When undefined, screen
  1271. X * uses its own (probably slower) version of bcopy().
  1272. X */
  1273. X#define USEBCOPY
  1274. X
  1275. X/*
  1276. X * If you'd rather see the status line on the first line of your
  1277. X * terminal rather than the last, define TOPSTAT.
  1278. X */
  1279. X#undef TOPSTAT
  1280. X
  1281. X/*
  1282. X * If your system has vsprintf() and requires the use of the macros in
  1283. X * "varargs.h" to use functions with variable arguments,
  1284. X * define USEVARARGS.
  1285. X */
  1286. X#undef USEVARARGS
  1287. X
  1288. X/*
  1289. X * Define this if your system supports named pipes.
  1290. X */
  1291. X#undef NAMEDPIPE
  1292. X
  1293. X/*
  1294. X * here come the erlangen extensions to screen:
  1295. X * define LOCK if you want to use a lock program for a screenlock.
  1296. X * define PASSWORD for secure reattach of your screen.
  1297. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  1298. X * define POW_DETACH to have a detach_and_logout key.
  1299. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  1300. X * (jw)
  1301. X */
  1302. X#define LOCK
  1303. X#define PASSWORD
  1304. X#define COPY_PASTE
  1305. X#define REMOTE_DETACH
  1306. X#define POW_DETACH
  1307. X
  1308. X/*
  1309. X * As error messages are mostly meaningless to the user, we
  1310. X * try to throw out phrases that are somewhat more familiar
  1311. X * to ...well, at least familiar to us NetHack players.
  1312. X */
  1313. X#define NETHACK
  1314. X
  1315. X/*
  1316. X * and another sneaky feature: screen sources two startup files.
  1317. X * first a global file with a path specified here, second
  1318. X * your local $HOME/.screenrc
  1319. X * Don't define this, if you don't want it.
  1320. X */
  1321. X#define ETCSCREENRC "/etc/screenrc"
  1322. X
  1323. X/*
  1324. X *    End of User Configuration Section
  1325. X */
  1326. END_OF_FILE
  1327. if test 8207 -ne `wc -c <'config/config.sgi'`; then
  1328.     echo shar: \"'config/config.sgi'\" unpacked with wrong size!
  1329. fi
  1330. # end of 'config/config.sgi'
  1331. fi
  1332. if test -f 'config/config.sunos41' -a "${1}" != "-c" ; then 
  1333.   echo shar: Will not clobber existing file \"'config/config.sunos41'\"
  1334. else
  1335. echo shar: Extracting \"'config/config.sunos41'\" \(8086 characters\)
  1336. sed "s/^X//" >'config/config.sunos41' <<'END_OF_FILE'
  1337. X/* Copyright (c) 1991
  1338. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  1339. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  1340. X * Copyright (c) 1987 Oliver Laumann
  1341. X *
  1342. X * This program is free software; you can redistribute it and/or modify
  1343. X * it under the terms of the GNU General Public License as published by
  1344. X * the Free Software Foundation; either version 1, or (at your option)
  1345. X * any later version.
  1346. X *
  1347. X * This program is distributed in the hope that it will be useful,
  1348. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1349. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1350. X * GNU General Public License for more details.
  1351. X *
  1352. X * You should have received a copy of the GNU General Public License
  1353. X * along with this program (see the file COPYING); if not, write to the
  1354. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1355. X *
  1356. X * Noteworthy contributors to screen's design and implementation:
  1357. X *    Wayne Davison (davison@borland.com)
  1358. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  1359. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  1360. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  1361. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  1362. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  1363. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  1364. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  1365. X *    Marc Boucher (marc@CAM.ORG)
  1366. X *
  1367. X ****************************************************************
  1368. X * $Id: config.sunos41,v 1.15 91/10/06 11:59:01 jnweiger Exp $ FAU
  1369. X */
  1370. X
  1371. X
  1372. X/*
  1373. X *        Beginning of User Configuration Section
  1374. X *
  1375. X * First off, you should decide if you intend to install screen set-uid to
  1376. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  1377. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  1378. X * updated, and /dev/kmem to be accessed to read the load average values.
  1379. X *
  1380. X * An alternative to installing screen set-uid root is to install it set-gid
  1381. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  1382. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  1383. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  1384. X * updating and the /dev/kmem reading (see the following defines) and simply
  1385. X * run screen as a regular program -- its major functions will be unaffected.
  1386. X */
  1387. X
  1388. X
  1389. X/*
  1390. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  1391. X */
  1392. X#define POSIX
  1393. X
  1394. X/*
  1395. X * Define BSDJOBS if you have BSD-style job control (both process
  1396. X * groups and a tty that deals correctly with them).
  1397. X */
  1398. X#define BSDJOBS
  1399. X
  1400. X/*
  1401. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  1402. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  1403. X * POSIX systems should define this anyway, even though they use
  1404. X * struct termios.
  1405. X */
  1406. X#define TERMIO
  1407. X
  1408. X/*
  1409. X * Define TERMINFO if your machine emulates the termcap routines
  1410. X * with the terminfo database.
  1411. X * Thus the .screenrc file is parsed for
  1412. X * the command 'terminfo' and not 'termcap'.
  1413. X */
  1414. X#undef TERMINFO
  1415. X
  1416. X/*
  1417. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  1418. X */
  1419. X#undef SYSV
  1420. X
  1421. X/*
  1422. X * Define SIGVOID if your signal handlers return void.  On older
  1423. X * systems, signal returns int, but on newer ones, it returns void.
  1424. X */
  1425. X#define SIGVOID 
  1426. X
  1427. X/*
  1428. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  1429. X */
  1430. X#define DIRENT
  1431. X
  1432. X/*
  1433. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  1434. X */
  1435. X#define SUIDROOT
  1436. X
  1437. X/*
  1438. X * If screen is installed with permissions to update /etc/utmp (such as if
  1439. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  1440. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  1441. X */
  1442. X#define UTMPOK
  1443. X#define LOGINDEFAULT    1
  1444. X
  1445. X/*
  1446. X * If your system has getutent(), pututline(), etc. to write to the
  1447. X * utmp file, define GETUTENT.
  1448. X */
  1449. X#undef GETUTENT
  1450. X
  1451. X/*
  1452. X * Define UTHOST if the utmp file has a host field.
  1453. X */
  1454. X#define UTHOST
  1455. X
  1456. X/*
  1457. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  1458. X * counting non-null entries in /etc/utmp (instead of counting non-null
  1459. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  1460. X * to have screen put an upper-limit on the number of entries to write
  1461. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  1462. X * license.
  1463. X */
  1464. X#undef USRLIMIT
  1465. X
  1466. X/*
  1467. X * If screen is NOT installed set-uid root, screen can provide tty security
  1468. X * by exclusively locking the ptys.  While this keeps other users from
  1469. X * opening your ptys, it also keeps your own subprocesses from being able
  1470. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  1471. X */
  1472. X#undef LOCKPTY
  1473. X
  1474. X/*
  1475. X * If your system does not have the calls setreuid() and setregid(), define
  1476. X * NOREUID to force screen to use a forked process to safely create output
  1477. X * files without retaining any special privileges.  (Output logging will be
  1478. X * disabled, however.)
  1479. X */
  1480. X#undef NOREUID
  1481. X
  1482. X/*
  1483. X * If you want the "time" command to display the current load average
  1484. X * you must install screen with the needed privileges to read /dev/kmem
  1485. X * and have a load average format that screen understands.  We handle the
  1486. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  1487. X */
  1488. X#undef  LOADAV_3DOUBLES
  1489. X#define LOADAV_3LONGS
  1490. X#undef  LOADAV_4LONGS
  1491. X
  1492. X/*
  1493. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  1494. X * getttyent(3) library functions, define GETTTYENT.
  1495. X */
  1496. X#undef GETTTYENT
  1497. X
  1498. X/*
  1499. X * If your version of NFS supports named sockets and you install screen
  1500. X * suid root, you may need to define NFS_HACK for screen to be able to
  1501. X * open the sockets.
  1502. X */
  1503. X#undef NFS_HACK
  1504. X
  1505. X/*
  1506. X * By default screen will create a directory named ".screen" in the user's
  1507. X * HOME directory to contain the named sockets.  If this causes you problems
  1508. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  1509. X * named sockets) you can have screen create the socket directories in a
  1510. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  1511. X * more secure if you choose a directory where the "sticky" bit is on, but
  1512. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  1513. X * (e.g /tmp/S-davison).
  1514. X * Do not define TMPTEST unless it's for debugging purpose.
  1515. X * If you want to have your socket directory in "/tmp/screens" then
  1516. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  1517. X */
  1518. X#define LOCALSOCKDIR
  1519. X
  1520. X#ifdef LOCALSOCKDIR
  1521. X# ifndef TMPTEST
  1522. X#  define SOCKDIR "/tmp/screens"
  1523. X# else
  1524. X#  define SOCKDIR "/tmp/testscreens"
  1525. X# endif
  1526. X#endif
  1527. X
  1528. X/*
  1529. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  1530. X * overlapping of source and destination blocks.  When undefined, screen
  1531. X * uses its own (probably slower) version of bcopy().
  1532. X */
  1533. X#undef USEBCOPY
  1534. X
  1535. X/*
  1536. X * If you'd rather see the status line on the first line of your
  1537. X * terminal rather than the last, define TOPSTAT.
  1538. X */
  1539. X#undef TOPSTAT
  1540. X
  1541. X/*
  1542. X * If your system has vsprintf() and requires the use of the macros in
  1543. X * "varargs.h" to use functions with variable arguments,
  1544. X * define USEVARARGS.
  1545. X */
  1546. X#undef USEVARARGS
  1547. X
  1548. X/*
  1549. X * Define this if your system supports named pipes.
  1550. X */
  1551. X#define NAMEDPIPE
  1552. X
  1553. X/*
  1554. X * here come the erlangen extensions to screen:
  1555. X * define LOCK if you want to use a lock program for a screenlock.
  1556. X * define PASSWORD for secure reattach of your screen.
  1557. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  1558. X * define POW_DETACH to have a detach_and_logout key.
  1559. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  1560. X * (jw)
  1561. X */
  1562. X#define LOCK
  1563. X#define PASSWORD
  1564. X#define COPY_PASTE
  1565. X#define REMOTE_DETACH
  1566. X#define POW_DETACH
  1567. X
  1568. X/*
  1569. X * As error messages are mostly meaningless to the user, we
  1570. X * try to throw out phrases that are somewhat more familiar
  1571. X * to ...well, at least familiar to us NetHack players.
  1572. X */
  1573. X#define NETHACK
  1574. X
  1575. X/*
  1576. X * and another sneaky feature: screen sources two startup files.
  1577. X * first a global file with a path specified here, second
  1578. X * your local $HOME/.screenrc
  1579. X * Don't define this, if you don't want it.
  1580. X */
  1581. X#define ETCSCREENRC "/local/etc/screenrc"
  1582. X
  1583. X/*
  1584. X *    End of User Configuration Section
  1585. X */
  1586. END_OF_FILE
  1587. if test 8086 -ne `wc -c <'config/config.sunos41'`; then
  1588.     echo shar: \"'config/config.sunos41'\" unpacked with wrong size!
  1589. fi
  1590. # end of 'config/config.sunos41'
  1591. fi
  1592. if test -f 'config/config.svr4' -a "${1}" != "-c" ; then 
  1593.   echo shar: Will not clobber existing file \"'config/config.svr4'\"
  1594. else
  1595. echo shar: Extracting \"'config/config.svr4'\" \(8375 characters\)
  1596. sed "s/^X//" >'config/config.svr4' <<'END_OF_FILE'
  1597. X/* Copyright (c) 1991
  1598. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  1599. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  1600. X * Copyright (c) 1987 Oliver Laumann
  1601. X *
  1602. X * This program is free software; you can redistribute it and/or modify
  1603. X * it under the terms of the GNU General Public License as published by
  1604. X * the Free Software Foundation; either version 1, or (at your option)
  1605. X * any later version.
  1606. X *
  1607. X * This program is distributed in the hope that it will be useful,
  1608. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1609. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1610. X * GNU General Public License for more details.
  1611. X *
  1612. X * You should have received a copy of the GNU General Public License
  1613. X * along with this program (see the file COPYING); if not, write to the
  1614. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1615. X *
  1616. X * Noteworthy contributors to screen's design and implementation:
  1617. X *    Wayne Davison (davison@borland.com)
  1618. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  1619. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  1620. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  1621. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  1622. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  1623. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  1624. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  1625. X *    Marc Boucher (marc@CAM.ORG)
  1626. X *
  1627. X ****************************************************************
  1628. X * $Id: config.svr4,v 1.7 91/10/06 11:59:03 jnweiger Exp $ FAU
  1629. X */
  1630. X
  1631. X/****************************************************************
  1632. X * this config file was contributed by Marc Boucher <marc@CAM.ORG>
  1633. X * it supports System V Release 4.0
  1634. X ********************************************************** 
  1635. X */
  1636. X
  1637. X
  1638. X/*
  1639. X *        Beginning of User Configuration Section
  1640. X *
  1641. X * First off, you should decide if you intend to install screen set-uid to
  1642. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  1643. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  1644. X * updated, and /dev/kmem to be accessed to read the load average values.
  1645. X *
  1646. X * An alternative to installing screen set-uid root is to install it set-gid
  1647. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  1648. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  1649. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  1650. X * updating and the /dev/kmem reading (see the following defines) and simply
  1651. X * run screen as a regular program -- its major functions will be unaffected.
  1652. X */
  1653. X
  1654. X
  1655. X/*
  1656. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  1657. X */
  1658. X#define POSIX
  1659. X
  1660. X/*
  1661. X * Define BSDJOBS if you have BSD-style job control (both process
  1662. X * groups and a tty that deals correctly with them).
  1663. X */
  1664. X#define BSDJOBS
  1665. X
  1666. X/*
  1667. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  1668. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  1669. X * POSIX systems should define this anyway, even though they use
  1670. X * struct termios.
  1671. X */
  1672. X#define TERMIO
  1673. X
  1674. X/*
  1675. X * Define TERMINFO if your machine emulates the termcap routines
  1676. X * with the terminfo database. 
  1677. X * Thus the .screenrc file is parsed for 
  1678. X * the command 'terminfo' and not 'termcap'.
  1679. X */
  1680. X#define TERMINFO
  1681. X
  1682. X/*
  1683. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  1684. X */
  1685. X#define SYSV
  1686. X
  1687. X/*
  1688. X * Define SIGVOID if your signal handlers return void.  On older
  1689. X * systems, signal returns int, but on newer ones, it returns void.
  1690. X */
  1691. X#define SIGVOID 
  1692. X
  1693. X/*
  1694. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  1695. X */
  1696. X#define DIRENT
  1697. X
  1698. X/*
  1699. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  1700. X */
  1701. X#define SUIDROOT
  1702. X
  1703. X/*
  1704. X * If screen is installed with permissions to update /etc/utmp (such as if
  1705. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  1706. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  1707. X */
  1708. X#define UTMPOK
  1709. X#define LOGINDEFAULT    1
  1710. X
  1711. X/*
  1712. X * If your system has getutent(), pututline(), etc. to write to the
  1713. X * utmp file, define GETUTENT.
  1714. X */
  1715. X#define GETUTENT
  1716. X
  1717. X/*
  1718. X * Define UTHOST if the utmp file has a host field.
  1719. X */
  1720. X#undef UTHOST
  1721. X
  1722. X/*
  1723. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  1724. X * counting non-null entries in /etc/utmp (instead of counting non-null
  1725. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  1726. X * to have screen put an upper-limit on the number of entries to write
  1727. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  1728. X * license.
  1729. X */
  1730. X#undef USRLIMIT
  1731. X
  1732. X/*
  1733. X * If screen is NOT installed set-uid root, screen can provide tty security
  1734. X * by exclusively locking the ptys.  While this keeps other users from
  1735. X * opening your ptys, it also keeps your own subprocesses from being able
  1736. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  1737. X */
  1738. X#undef LOCKPTY
  1739. X
  1740. X/*
  1741. X * If your system does not have the calls setreuid() and setregid(), define
  1742. X * NOREUID to force screen to use a forked process to safely create output
  1743. X * files without retaining any special privileges.  (Output logging will be
  1744. X * disabled, however.)
  1745. X */
  1746. X#define NOREUID
  1747. X
  1748. X/*
  1749. X * If you want the "time" command to display the current load average
  1750. X * you must install screen with the needed privileges to read /dev/kmem
  1751. X * and have a load average format that screen understands.  We handle the
  1752. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  1753. X */
  1754. X#define LOADAV_3DOUBLES
  1755. X#undef  LOADAV_3LONGS
  1756. X#undef  LOADAV_4LONGS
  1757. X
  1758. X/*
  1759. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  1760. X * getttyent(3) library functions, define GETTTYENT.
  1761. X */
  1762. X#undef GETTTYENT
  1763. X
  1764. X/*
  1765. X * If your version of NFS supports named sockets and you install screen
  1766. X * suid root, you may need to define NFS_HACK for screen to be able to
  1767. X * open the sockets.
  1768. X */
  1769. X#undef NFS_HACK
  1770. X
  1771. X/*
  1772. X * By default screen will create a directory named ".screen" in the user's
  1773. X * HOME directory to contain the named sockets.  If this causes you problems
  1774. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  1775. X * named sockets) you can have screen create the socket directories in a
  1776. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  1777. X * more secure if you choose a directory where the "sticky" bit is on, but
  1778. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  1779. X * (e.g /tmp/S-davison).
  1780. X * Do not define TMPTEST unless it's for debugging purpose.
  1781. X * If you want to have your socket directory in "/tmp/screens" then
  1782. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  1783. X */
  1784. X#define LOCALSOCKDIR
  1785. X
  1786. X#ifdef LOCALSOCKDIR
  1787. X# ifndef TMPTEST
  1788. X#  define SOCKDIR "/local/screens"
  1789. X# else
  1790. X#  define SOCKDIR "/tmp/screens"
  1791. X# endif
  1792. X#endif
  1793. X
  1794. X/*
  1795. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  1796. X * overlapping of source and destination blocks.  When undefined, screen
  1797. X * uses its own (probably slower) version of bcopy().
  1798. X */
  1799. X#undef USEBCOPY
  1800. X
  1801. X/*
  1802. X * If you'd rather see the status line on the first line of your
  1803. X * terminal rather than the last, define TOPSTAT.
  1804. X */
  1805. X#undef TOPSTAT
  1806. X
  1807. X/*
  1808. X * If your system has vsprintf() and requires the use of the macros in
  1809. X * "varargs.h" to use functions with variable arguments,
  1810. X * define USEVARARGS.
  1811. X */
  1812. X#define USEVARARGS
  1813. X
  1814. X/*
  1815. X * Define this if your system supports named pipes.
  1816. X */
  1817. X#define NAMEDPIPE
  1818. X
  1819. X/*
  1820. X * here come the erlangen extensions to screen:
  1821. X * define LOCK if you want to use a lock program for a screenlock.
  1822. X * define PASSWORD for secure reattach of your screen.
  1823. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  1824. X * define POW_DETACH to have a detach_and_logout key.
  1825. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  1826. X * (jw)
  1827. X */
  1828. X#define LOCK
  1829. X#define PASSWORD
  1830. X#define COPY_PASTE
  1831. X#define REMOTE_DETACH
  1832. X#define POW_DETACH
  1833. X
  1834. X/*
  1835. X * As error messages are mostly meaningless to the user, we
  1836. X * try to throw out phrases that are somewhat more familiar
  1837. X * to ...well, at least familiar to us NetHack players.
  1838. X */
  1839. X#define NETHACK
  1840. X
  1841. X/*
  1842. X * and another sneaky feature: screen sources two startup files.
  1843. X * first a global file with a path specified here, second
  1844. X * your local $HOME/.screenrc
  1845. X * Don't define this, if you don't want it.
  1846. X */
  1847. X#define ETCSCREENRC "/local/etc/screenrc"
  1848. X
  1849. X#define SVR4
  1850. X/*#define NEEDSETENV*/
  1851. X/*#define DEBUG*/
  1852. X/*
  1853. X *    End of User Configuration Section
  1854. X */
  1855. END_OF_FILE
  1856. if test 8375 -ne `wc -c <'config/config.svr4'`; then
  1857.     echo shar: \"'config/config.svr4'\" unpacked with wrong size!
  1858. fi
  1859. # end of 'config/config.svr4'
  1860. fi
  1861. if test -f 'config/config.ultrix31' -a "${1}" != "-c" ; then 
  1862.   echo shar: Will not clobber existing file \"'config/config.ultrix31'\"
  1863. else
  1864. echo shar: Extracting \"'config/config.ultrix31'\" \(8140 characters\)
  1865. sed "s/^X//" >'config/config.ultrix31' <<'END_OF_FILE'
  1866. X/* Copyright (c) 1991
  1867. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  1868. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  1869. X * Copyright (c) 1987 Oliver Laumann
  1870. X *
  1871. X * This program is free software; you can redistribute it and/or modify
  1872. X * it under the terms of the GNU General Public License as published by
  1873. X * the Free Software Foundation; either version 1, or (at your option)
  1874. X * any later version.
  1875. X *
  1876. X * This program is distributed in the hope that it will be useful,
  1877. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  1878. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1879. X * GNU General Public License for more details.
  1880. X *
  1881. X * You should have received a copy of the GNU General Public License
  1882. X * along with this program (see the file COPYING); if not, write to the
  1883. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1884. X *
  1885. X * Noteworthy contributors to screen's design and implementation:
  1886. X *    Wayne Davison (davison@borland.com)
  1887. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  1888. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  1889. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  1890. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  1891. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  1892. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  1893. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  1894. X *    Marc Boucher (marc@CAM.ORG)
  1895. X *
  1896. X ****************************************************************
  1897. X * $Id: config.ultrix31,v 1.7 91/10/06 11:59:08 jnweiger Exp $ FAU
  1898. X */
  1899. X
  1900. X
  1901. X/*
  1902. X *        Beginning of User Configuration Section
  1903. X *
  1904. X * First off, you should decide if you intend to install screen set-uid to
  1905. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  1906. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  1907. X * updated, and /dev/kmem to be accessed to read the load average values.
  1908. X *
  1909. X * An alternative to installing screen set-uid root is to install it set-gid
  1910. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  1911. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  1912. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  1913. X * updating and the /dev/kmem reading (see the following defines) and simply
  1914. X * run screen as a regular program -- its major functions will be unaffected.
  1915. X */
  1916. X
  1917. X
  1918. X/*
  1919. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  1920. X */
  1921. X#ifndef POSIX
  1922. X# define POSIX
  1923. X#endif
  1924. X
  1925. X/*
  1926. X * Define BSDJOBS if you have BSD-style job control (both process
  1927. X * groups and a tty that deals correctly with them).
  1928. X */
  1929. X#define BSDJOBS
  1930. X
  1931. X/*
  1932. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  1933. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  1934. X * POSIX systems should define this anyway, even though they use
  1935. X * struct termios.
  1936. X */
  1937. X#define TERMIO
  1938. X
  1939. X/*
  1940. X * Define TERMINFO if your machine emulates the termcap routines
  1941. X * with the terminfo database.
  1942. X * Thus the .screenrc file is parsed for
  1943. X * the command 'terminfo' and not 'termcap'.
  1944. X */
  1945. X#undef TERMINFO
  1946. X
  1947. X/*
  1948. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  1949. X */
  1950. X#undef SYSV
  1951. X
  1952. X/*
  1953. X * Define SIGVOID if your signal handlers return void.  On older
  1954. X * systems, signal returns int, but on newer ones, it returns void.
  1955. X */
  1956. X#define SIGVOID 
  1957. X
  1958. X/*
  1959. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  1960. X */
  1961. X#define DIRENT
  1962. X
  1963. X/*
  1964. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  1965. X */
  1966. X#undef SUIDROOT
  1967. X
  1968. X/*
  1969. X * If screen is installed with permissions to update /etc/utmp (such as if
  1970. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  1971. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  1972. X */
  1973. X#undef UTMPOK
  1974. X#define LOGINDEFAULT    0
  1975. X
  1976. X/*
  1977. X * If your system has getutent(), pututline(), etc. to write to the
  1978. X * utmp file, define GETUTENT.
  1979. X */
  1980. X#undef GETUTENT
  1981. X
  1982. X/*
  1983. X * Define UTHOST if the utmp file has a host field.
  1984. X */
  1985. X#undef UTHOST
  1986. X
  1987. X/*
  1988. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  1989. X * counting non-null entries in /etc/utmp (instead of counting non-null
  1990. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  1991. X * to have screen put an upper-limit on the number of entries to write
  1992. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  1993. X * license.
  1994. X */
  1995. X#undef USRLIMIT
  1996. X
  1997. X/*
  1998. X * If screen is NOT installed set-uid root, screen can provide tty security
  1999. X * by exclusively locking the ptys.  While this keeps other users from
  2000. X * opening your ptys, it also keeps your own subprocesses from being able
  2001. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  2002. X */
  2003. X#undef LOCKPTY
  2004. X
  2005. X/*
  2006. X * If your system does not have the calls setreuid() and setregid(), define
  2007. X * NOREUID to force screen to use a forked process to safely create output
  2008. X * files without retaining any special privileges.  (Output logging will be
  2009. X * disabled, however.)
  2010. X */
  2011. X#undef NOREUID
  2012. X
  2013. X/*
  2014. X * If you want the "time" command to display the current load average
  2015. X * you must install screen with the needed privileges to read /dev/kmem
  2016. X * and have a load average format that screen understands.  We handle the
  2017. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  2018. X */
  2019. X#define  LOADAV_3DOUBLES
  2020. X#undef LOADAV_3LONGS
  2021. X#undef  LOADAV_4LONGS
  2022. X
  2023. X/*
  2024. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  2025. X * getttyent(3) library functions, define GETTTYENT.
  2026. X */
  2027. X#define GETTTYENT
  2028. X
  2029. X/*
  2030. X * If your version of NFS supports named sockets and you install screen
  2031. X * suid root, you may need to define NFS_HACK for screen to be able to
  2032. X * open the sockets.
  2033. X */
  2034. X#undef NFS_HACK
  2035. X
  2036. X/*
  2037. X * By default screen will create a directory named ".screen" in the user's
  2038. X * HOME directory to contain the named sockets.  If this causes you problems
  2039. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  2040. X * named sockets) you can have screen create the socket directories in a
  2041. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  2042. X * more secure if you choose a directory where the "sticky" bit is on, but
  2043. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  2044. X * (e.g /tmp/S-davison).
  2045. X * Do not define TMPTEST unless it's for debugging purpose.
  2046. X * If you want to have your socket directory in "/tmp/screens" then
  2047. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  2048. X */
  2049. X#define LOCALSOCKDIR
  2050. X#define TMPTEST
  2051. X
  2052. X#ifdef LOCALSOCKDIR
  2053. X# ifndef TMPTEST
  2054. X#  define SOCKDIR "/local/screens"
  2055. X# else
  2056. X#  define SOCKDIR "/tmp/screens"
  2057. X# endif
  2058. X#endif
  2059. X
  2060. X/*
  2061. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  2062. X * overlapping of source and destination blocks.  When undefined, screen
  2063. X * uses its own (probably slower) version of bcopy().
  2064. X */
  2065. X#undef USEBCOPY
  2066. X
  2067. X/*
  2068. X * If you'd rather see the status line on the first line of your
  2069. X * terminal rather than the last, define TOPSTAT.
  2070. X */
  2071. X#undef TOPSTAT
  2072. X
  2073. X/*
  2074. X * If your system has vsprintf() and requires the use of the macros in
  2075. X * "varargs.h" to use functions with variable arguments,
  2076. X * define USEVARARGS.
  2077. X */
  2078. X#undef USEVARARGS
  2079. X
  2080. X/*
  2081. X * Define this if your system supports named pipes.
  2082. X */
  2083. X#define NAMEDPIPE
  2084. X
  2085. X/*
  2086. X * here come the erlangen extensions to screen:
  2087. X * define LOCK if you want to use a lock program for a screenlock.
  2088. X * define PASSWORD for secure reattach of your screen.
  2089. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  2090. X * define POW_DETACH to have a detach_and_logout key.
  2091. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  2092. X * (jw)
  2093. X */
  2094. X#define LOCK
  2095. X#define PASSWORD
  2096. X#define COPY_PASTE
  2097. X#define REMOTE_DETACH
  2098. X#define POW_DETACH
  2099. X
  2100. X/*
  2101. X * As error messages are mostly meaningless to the user, we
  2102. X * try to throw out phrases that are somewhat more familiar
  2103. X * to ...well, at least familiar to us NetHack players.
  2104. X */
  2105. X#define NETHACK
  2106. X
  2107. X/*
  2108. X * and another sneaky feature: screen sources two startup files.
  2109. X * first a global file with a path specified here, second
  2110. X * your local $HOME/.screenrc
  2111. X * Don't define this, if you don't want it.
  2112. X */
  2113. X#undef ETCSCREENRC "/local/etc/screenrc"
  2114. X
  2115. X/*
  2116. X *    End of User Configuration Section
  2117. X */
  2118. X
  2119. X
  2120. X#define NEEDSETENV
  2121. END_OF_FILE
  2122. if test 8140 -ne `wc -c <'config/config.ultrix31'`; then
  2123.     echo shar: \"'config/config.ultrix31'\" unpacked with wrong size!
  2124. fi
  2125. # end of 'config/config.ultrix31'
  2126. fi
  2127. if test -f 'config/config.xenix' -a "${1}" != "-c" ; then 
  2128.   echo shar: Will not clobber existing file \"'config/config.xenix'\"
  2129. else
  2130. echo shar: Extracting \"'config/config.xenix'\" \(8478 characters\)
  2131. sed "s/^X//" >'config/config.xenix' <<'END_OF_FILE'
  2132. X/* Copyright (c) 1991
  2133. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  2134. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  2135. X * Copyright (c) 1987 Oliver Laumann
  2136. X *
  2137. X * This program is free software; you can redistribute it and/or modify
  2138. X * it under the terms of the GNU General Public License as published by
  2139. X * the Free Software Foundation; either version 1, or (at your option)
  2140. X * any later version.
  2141. X *
  2142. X * This program is distributed in the hope that it will be useful,
  2143. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2144. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2145. X * GNU General Public License for more details.
  2146. X *
  2147. X * You should have received a copy of the GNU General Public License
  2148. X * along with this program (see the file COPYING); if not, write to the
  2149. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2150. X *
  2151. X * Noteworthy contributors to screen's design and implementation:
  2152. X *    Wayne Davison (davison@borland.com)
  2153. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  2154. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  2155. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  2156. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  2157. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  2158. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  2159. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  2160. X *    Marc Boucher (marc@CAM.ORG)
  2161. X *
  2162. X ****************************************************************
  2163. X * $Id: config.xenix,v 1.3 91/10/06 11:59:11 jnweiger Exp $ FAU
  2164. X */
  2165. X
  2166. X/****************************************************************
  2167. X * minimal config for SCO XENIX 386 2.3.[34].  avenrun could be
  2168. X * configured in, but a) I can't be bothered and b) I want the binaries
  2169. X * to work unchanged on SCO UNIX too
  2170. X *    Ronald Khoo <ronald@robobar.co.uk> 
  2171. X ****************************************************************
  2172. X */
  2173. X
  2174. X
  2175. X/*
  2176. X *        Beginning of User Configuration Section
  2177. X *
  2178. X * First off, you should decide if you intend to install screen set-uid to
  2179. X * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  2180. X * to be set to their proper owner (for security purposes), /etc/utmp to be
  2181. X * updated, and /dev/kmem to be accessed to read the load average values.
  2182. X *
  2183. X * An alternative to installing screen set-uid root is to install it set-gid
  2184. X * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  2185. X * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  2186. X * custom group to give you both.  The final alternative is to omit /etc/utmp
  2187. X * updating and the /dev/kmem reading (see the following defines) and simply
  2188. X * run screen as a regular program -- its major functions will be unaffected.
  2189. X */
  2190. X
  2191. X/*
  2192. X * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  2193. X */
  2194. X#undef POSIX
  2195. X
  2196. X/*
  2197. X * Define BSDJOBS if you have BSD-style job control (both process
  2198. X * groups and a tty that deals correctly with them).
  2199. X */
  2200. X#undef BSDJOBS
  2201. X
  2202. X/*
  2203. X * Define TERMIO if you have struct termio instead of struct sgttyb.
  2204. X * This is usually the case for SVID systems, where BSD uses sgttyb.
  2205. X * POSIX systems should define this anyway, even though they use
  2206. X * struct termios.
  2207. X */
  2208. X#define TERMIO
  2209. X
  2210. X/*
  2211. X * Define TERMINFO if your machine emulates the termcap routines
  2212. X * with the terminfo database.
  2213. X * Thus the .screenrc file is parsed for
  2214. X * the command 'terminfo' and not 'termcap'.
  2215. X */
  2216. X#undef TERMINFO
  2217. X
  2218. X/*
  2219. X * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  2220. X * We use uname() instead of Gethostname().
  2221. X */
  2222. X#define SYSV
  2223. X
  2224. X/*
  2225. X * Define SIGVOID if your signal handlers return void.  On older
  2226. X * systems, signal returns int, but on newer ones, it returns void.
  2227. X */
  2228. X#define SIGVOID 
  2229. X
  2230. X/*
  2231. X * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  2232. X */
  2233. X#define DIRENT
  2234. X
  2235. X/*
  2236. X * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  2237. X */
  2238. X#undef SUIDROOT
  2239. X
  2240. X/*
  2241. X * If screen is installed with permissions to update /etc/utmp (such as if
  2242. X * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  2243. X * if you want entries added to /etc/utmp by default, else set it to zero (0).
  2244. X */
  2245. X#undef UTMPOK
  2246. X#define LOGINDEFAULT    0
  2247. X
  2248. X/*
  2249. X * If your system has getutent(), pututline(), etc. to write to the
  2250. X * utmp file, define GETUTENT.
  2251. X */
  2252. X#define GETUTENT
  2253. X
  2254. X/*
  2255. X * Define UTHOST if the utmp file has a host field.
  2256. X */
  2257. X#undef UTHOST
  2258. X
  2259. X/*
  2260. X * If UTMPOK is defined and your system (incorrectly) counts logins by
  2261. X * counting non-null entries in /etc/utmp (instead of counting non-null
  2262. X * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  2263. X * to have screen put an upper-limit on the number of entries to write
  2264. X * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  2265. X * license.
  2266. X */
  2267. X#undef USRLIMIT
  2268. X
  2269. X/*
  2270. X * If screen is NOT installed set-uid root, screen can provide tty security
  2271. X * by exclusively locking the ptys.  While this keeps other users from
  2272. X * opening your ptys, it also keeps your own subprocesses from being able
  2273. X * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  2274. X */
  2275. X#undef LOCKPTY
  2276. X
  2277. X/*
  2278. X * If your system does not have the calls setreuid() and setregid(), define
  2279. X * NOREUID to force screen to use a forked process to safely create output
  2280. X * files without retaining any special privileges.  (Output logging will be
  2281. X * disabled, however.)
  2282. X */
  2283. X#define NOREUID
  2284. X
  2285. X/*
  2286. X * If you want the "time" command to display the current load average
  2287. X * you must install screen with the needed privileges to read /dev/kmem
  2288. X * and have a load average format that screen understands.  We handle the
  2289. X * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  2290. X */
  2291. X#undef  LOADAV_3DOUBLES
  2292. X#undef  LOADAV_3LONGS
  2293. X#undef  LOADAV_4LONGS
  2294. X
  2295. X/*
  2296. X * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  2297. X * getttyent(3) library functions, define GETTTYENT.
  2298. X */
  2299. X#undef GETTTYENT
  2300. X
  2301. X/*
  2302. X * If your version of NFS supports named sockets and you install screen
  2303. X * suid root, you may need to define NFS_HACK for screen to be able to
  2304. X * open the sockets.
  2305. X */
  2306. X#undef NFS_HACK
  2307. X
  2308. X/*
  2309. X * By default screen will create a directory named ".screen" in the user's
  2310. X * HOME directory to contain the named sockets.  If this causes you problems
  2311. X * (e.g. some user's HOME directories are NFS-mounted and don't support
  2312. X * named sockets) you can have screen create the socket directories in a
  2313. X * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  2314. X * more secure if you choose a directory where the "sticky" bit is on, but
  2315. X * this isn't required.  Screen will name the subdirectories "S-$USER"
  2316. X * (e.g /tmp/S-davison).
  2317. X * Do not define TMPTEST unless it's for debugging purpose.
  2318. X * If you want to have your socket directory in "/tmp/screens" then
  2319. X * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  2320. X */
  2321. X#undef LOCALSOCKDIR
  2322. X
  2323. X#ifdef LOCALSOCKDIR
  2324. X# ifndef TMPTEST
  2325. X#  define SOCKDIR "/local/screens"
  2326. X# else
  2327. X#  define SOCKDIR "/tmp/screens"
  2328. X# endif
  2329. X#endif
  2330. X
  2331. X/*
  2332. X * Define USEBCOPY if the bcopy() from your system's C library supports the
  2333. X * overlapping of source and destination blocks.  When undefined, screen
  2334. X * uses its own (probably slower) version of bcopy().
  2335. X */
  2336. X#undef USEBCOPY
  2337. X
  2338. X/*
  2339. X * If you'd rather see the status line on the first line of your
  2340. X * terminal rather than the last, define TOPSTAT.
  2341. X */
  2342. X#undef TOPSTAT
  2343. X
  2344. X/*
  2345. X * If your system has vsprintf() and requires the use of the macros in
  2346. X * "varargs.h" to use functions with variable arguments,
  2347. X * define USEVARARGS.
  2348. X */
  2349. X#undef USEVARARGS
  2350. X
  2351. X/*
  2352. X * Define this if your system supports named pipes.
  2353. X */
  2354. X#define NAMEDPIPE
  2355. X
  2356. X/*
  2357. X * here come the erlangen extensions to screen:
  2358. X * define LOCK if you want to use a lock program for a screenlock.
  2359. X * define PASSWORD for secure reattach of your screen.
  2360. X * define COPY_PASTE to use the famous hacker's treasure zoo.
  2361. X * define POW_DETACH to have a detach_and_logout key.
  2362. X * define REMOTE_DETACH (-d option) to move screen between terminals.
  2363. X * (jw)
  2364. X */
  2365. X#define LOCK
  2366. X#define PASSWORD
  2367. X#define COPY_PASTE
  2368. X#define REMOTE_DETACH
  2369. X#define POW_DETACH
  2370. X
  2371. X/*
  2372. X * As error messages are mostly meaningless to the user, we
  2373. X * try to throw out phrases that are somewhat more familiar
  2374. X * to ...well, at least familiar to us NetHack players.
  2375. X */
  2376. X#undef NETHACK
  2377. X
  2378. X/*
  2379. X * and another sneaky feature: screen sources two startup files.
  2380. X * first a global file with a path specified here, second
  2381. X * your local $HOME/.screenrc
  2382. X * Don't define this, if you don't want it.
  2383. X */
  2384. X/* #define ETCSCREENRC "/local/etc/screenrc" */
  2385. X
  2386. X/*
  2387. X *    End of User Configuration Section
  2388. X */
  2389. END_OF_FILE
  2390. if test 8478 -ne `wc -c <'config/config.xenix'`; then
  2391.     echo shar: \"'config/config.xenix'\" unpacked with wrong size!
  2392. fi
  2393. # end of 'config/config.xenix'
  2394. fi
  2395. if test -f 'extern.h' -a "${1}" != "-c" ; then 
  2396.   echo shar: Will not clobber existing file \"'extern.h'\"
  2397. else
  2398. echo shar: Extracting \"'extern.h'\" \(8727 characters\)
  2399. sed "s/^X//" >'extern.h' <<'END_OF_FILE'
  2400. X/* Copyright (c) 1991
  2401. X *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  2402. X *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  2403. X * Copyright (c) 1987 Oliver Laumann
  2404. X *
  2405. X * This program is free software; you can redistribute it and/or modify
  2406. X * it under the terms of the GNU General Public License as published by
  2407. X * the Free Software Foundation; either version 1, or (at your option)
  2408. X * any later version.
  2409. X *
  2410. X * This program is distributed in the hope that it will be useful,
  2411. X * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2412. X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2413. X * GNU General Public License for more details.
  2414. X *
  2415. X * You should have received a copy of the GNU General Public License
  2416. X * along with this program (see the file COPYING); if not, write to the
  2417. X * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2418. X *
  2419. X * Noteworthy contributors to screen's design and implementation:
  2420. X *    Wayne Davison (davison@borland.com)
  2421. X *    Patrick Wolfe (pat@kai.com, kailand!pat)
  2422. X *    Bart Schaefer (schaefer@cse.ogi.edu)
  2423. X *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  2424. X *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  2425. X *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  2426. X *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  2427. X *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  2428. X *    Marc Boucher (marc@CAM.ORG)
  2429. X *
  2430. X ****************************************************************
  2431. X * $Id: extern.h,v 1.30 91/10/11 11:42:30 jnweiger Exp $ FAU
  2432. X */
  2433. X
  2434. X/****************************************************************
  2435. X * Thanks to Christos S. Zoulas (christos@ee.cornell.edu) who 
  2436. X * mangled the screen source through 'gcc -Wall'.
  2437. X *
  2438. X * this is his extern.h
  2439. X ****************************************************************
  2440. X */
  2441. X
  2442. X#ifndef SYSV
  2443. extern void bzero __P((char *, int));
  2444. X#endif
  2445. X#ifdef sun
  2446. extern char *memset __P((char *, int, size_t));
  2447. X#endif
  2448. extern void bcopy __P((char *, char *, int));
  2449. struct rusage;
  2450. X#ifdef BSDWAIT
  2451. union wait;
  2452. extern int wait3 __P((union wait *, int, struct rusage *));
  2453. X#else
  2454. extern int wait3 __P((int *, int, struct rusage *));
  2455. X#endif
  2456. extern int getdtablesize __P((void));
  2457. X#if !defined(NOREUID)
  2458. X# ifdef hpux
  2459. extern int setresuid __P((int, int, int));
  2460. extern int setresgid __P((int, int, int));
  2461. X# else
  2462. extern int setreuid __P((uid_t, uid_t));
  2463. extern int setregid __P((gid_t, gid_t));
  2464. X# endif
  2465. X#endif
  2466. extern char *crypt __P((char *, char *));
  2467. X#ifdef sun
  2468. extern int getpgrp __P((int));
  2469. X#endif
  2470. X#ifdef POSIX
  2471. extern int mknod __P((char *, mode_t, dev_t));
  2472. X#else
  2473. extern int mknod __P((char *, int, int));
  2474. X#endif
  2475. extern int putenv __P((char *));
  2476. extern int kill __P((pid_t, int));
  2477. X#ifndef SYSV
  2478. extern int killpg __P((pid_t, int));
  2479. X#endif
  2480. extern int tgetent __P((char *, char *));
  2481. extern int tgetnum __P((char *));
  2482. extern int tgetflag __P((char *));
  2483. extern void tputs __P((char *, int, void (*)(int)));
  2484. X#ifdef notdef
  2485. extern unsigned char     *_flsbuf __P((unsigned char, FILE *));
  2486. X#endif
  2487. extern int _flsbuf __P((unsigned char, FILE *));
  2488. X#ifdef POSIX
  2489. extern pid_t setsid __P((void));
  2490. X#ifdef SVR4
  2491. extern int setpgid __P((pid_t, pid_t));
  2492. X#else
  2493. extern int setpgid __P((pid_t, int));
  2494. X#endif
  2495. extern int tcsetpgrp __P((int, pid_t));
  2496. X#endif
  2497. extern pid_t getpid __P((void));
  2498. extern uid_t getuid __P((void)); 
  2499. extern uid_t geteuid __P((void));
  2500. extern gid_t getgid __P((void)); 
  2501. extern gid_t getegid __P((void));
  2502. extern int isatty __P((int)); 
  2503. X#ifdef notdef
  2504. extern int chown __P((const char *, uid_t, gid_t)); 
  2505. X#endif
  2506. X#ifndef SVR4
  2507. extern int gethostname __P((char *, size_t));
  2508. X#endif
  2509. extern off_t lseek __P((int, off_t, int));
  2510. X#if defined(sun) && !defined(__GNUC__)        /* sun's exit returns ??? */
  2511. extern int exit __P((int));
  2512. X#else
  2513. extern void exit __P((int));
  2514. X#endif
  2515. extern char *getwd __P((char *));
  2516. extern char *getenv __P((const char *));
  2517. extern time_t time __P((time_t *));
  2518. X
  2519. extern char *getlogin(), *getpass(), *ttyname();
  2520. extern int fflush(); 
  2521. X#if !defined(__STDC__) || !defined(POSIX)
  2522. extern char *malloc(), *realloc();
  2523. X#endif
  2524. X
  2525. X
  2526. X
  2527. extern char *Filename __P((char *));
  2528. extern char *MakeTermcap __P((int));
  2529. extern char *ParseChar __P((char *, char *));
  2530. extern char *ProcessInput __P((char *, int *, char *, int *, int));
  2531. extern char *SaveStr __P((char *));
  2532. extern char *findcap __P((char *, char **, int));
  2533. extern char *findrcfile __P((char *));
  2534. extern char *strdup __P((const char *));
  2535. extern int ChangeScrollback __P((struct win *, int, int));
  2536. extern int ChangeWindowSize __P((struct win *, int, int));
  2537. extern int CompileKeys __P((char *, char *));
  2538. extern int CountUsers __P((void));
  2539. extern int FindSocket __P((int, int *));
  2540. extern int GetAvenrun __P((void));
  2541. extern int GetSockName __P((void));
  2542. extern int MakeClientSocket __P((int, char *));
  2543. extern int MakeServerSocket __P((void));
  2544. extern int MakeWindow __P((char *, char **, int, int, int, char *, int, int, char *));
  2545. extern int MarkRoutine __P((int));
  2546. extern int ParseEscape __P((char *));
  2547. extern void RcLine __P((char *));
  2548. extern int RecoverSocket __P((void));
  2549. extern int RemoveUtmp __P((struct win *));
  2550. extern int SetUtmp __P((struct win *, int));
  2551. extern int UserContext __P((void));
  2552. extern int UserStatus __P((void));
  2553. extern int display_help __P((void));
  2554. extern void display_copyright __P((void));
  2555. X#ifdef DEBUG
  2556. extern sig_t FEChld __P(SIGPROTOARG);
  2557. X#endif
  2558. extern sig_t SigHup __P(SIGPROTOARG);
  2559. extern void AbortRc __P((void));
  2560. extern void Activate __P((void));
  2561. extern void ChangeScreenSize __P((int, int, int));
  2562. extern void ChangeScrollRegion __P((int, int));
  2563. extern void CheckLP __P((int));
  2564. extern void CheckScreenSize __P((int));
  2565. extern void ClearDisplay __P((void));
  2566. extern void Detach __P((int));
  2567. extern void DisplayLine __P((char *, char *, char *, char *, char *, char *, int, int, int));
  2568. extern void DoScreen __P((char *, char **));
  2569. extern void DoSet __P((char **));
  2570. extern void ExitOverlayPage __P((void));
  2571. extern void FinishRc __P((char *));
  2572. extern void FinitTerm __P((void));
  2573. extern void FixLP __P((int, int));
  2574. extern void GetTTY __P((int, struct mode *));
  2575. extern void GotoPos __P((int, int));
  2576. extern void InitKmem __P((void));
  2577. extern void InitOverlayPage __P((void (*)(), void (*)(), int (*)(), int));
  2578. extern void InitTerm __P((int));
  2579. extern void InitTermcap __P((void));
  2580. extern void InitUtmp __P((void));
  2581. extern void InputAKA __P((void));
  2582. extern void InputColon __P((void));
  2583. extern void InsertMode __P((int));
  2584. extern void Kill __P((int, int));
  2585. extern int CheckPid __P((int));
  2586. extern void KillBuffers __P((void));
  2587. extern void MakeBlankLine __P((char *, int));
  2588. extern void MakeStatus __P((char *));
  2589. X#ifdef USEVARARGS
  2590. extern void Msg __P((int, char *, ...));
  2591. X#else
  2592. extern void Msg __P(());
  2593. X#endif
  2594. extern void NewCharset __P((int));
  2595. extern void NewRendition __P(());
  2596. extern void PUTCHAR __P((int));
  2597. extern void INSERTCHAR __P((int));
  2598. extern void ParseNum __P((int, char *[], int *));
  2599. extern void ParseOnOff __P((int, char *[], int *));
  2600. extern void PutChar __P((int));
  2601. extern void PutStr __P((char *));
  2602. extern void ReInitUtmp __P((void));
  2603. extern void ReadFile __P((void));
  2604. extern void ReceiveMsg __P((int));
  2605. extern void Redisplay __P((void));
  2606. extern void RefreshLine __P((int, int, int));
  2607. struct utmp;
  2608. extern void RemoveLoginSlot __P((slot_t, struct utmp *));
  2609. extern void RemoveStatus __P((void));
  2610. extern void Report __P((struct win *, char *, int, int));
  2611. extern void ResetScreen __P((struct win *));
  2612. extern void ResizeScreen __P((struct win *));
  2613. extern void RestoreAttr __P((void));
  2614. extern void RestoreLoginSlot __P((void));
  2615. extern void SaveSetAttr __P((int, int));
  2616. extern void ScrollRegion __P((int, int, int));
  2617. extern void SendCreateMsg __P((int, int, char **, int, int, int, int, char *));
  2618. X#ifdef USEVARARGS
  2619. extern void SendErrorMsg __P((char *, ...));
  2620. X#else
  2621. extern void SendErrorMsg __P(());
  2622. X#endif
  2623. extern void SetFlow __P((int));
  2624. extern void SetLastPos __P((int, int));
  2625. extern void SetMode __P((struct mode *, struct mode *));
  2626. extern void SetOvlCurr __P((void));
  2627. extern void SetTTY __P((int, struct mode *));
  2628. extern void SlotToggle __P((int));
  2629. extern void StartRc __P((char *));
  2630. extern void SwitchWindow __P((int));
  2631. extern void ToggleFlow __P((void));
  2632. extern void UserReturn __P((int));
  2633. extern void WSresize __P((int, int));
  2634. extern void WriteFile __P((int));
  2635. extern void WriteString __P((struct win *, char *, int));
  2636. extern void bclear __P((char *, int));
  2637. extern void bcopy __P((char *, char *, int));
  2638. extern void eexit __P((int));
  2639. extern void exit_with_usage __P((char *));
  2640. extern void main __P((int, char **));
  2641. extern void screen_builtin_lck __P((void));
  2642. extern void KillWindow __P((int));
  2643. extern char *xrealloc __P((char *, int));
  2644. extern void AddLineToHist __P((struct win *, char **, char **, char **));
  2645. extern FILE *secfopen __P((char *, char *));
  2646. extern int secopen __P((char *, int, int));
  2647. END_OF_FILE
  2648. if test 8727 -ne `wc -c <'extern.h'`; then
  2649.     echo shar: \"'extern.h'\" unpacked with wrong size!
  2650. fi
  2651. # end of 'extern.h'
  2652. fi
  2653. echo shar: End of archive 2 \(of 8\).
  2654. cp /dev/null ark2isdone
  2655. MISSING=""
  2656. for I in 1 2 3 4 5 6 7 8 ; do
  2657.     if test ! -f ark${I}isdone ; then
  2658.     MISSING="${MISSING} ${I}"
  2659.     fi
  2660. done
  2661. if test "${MISSING}" = "" ; then
  2662.     echo You have unpacked all 8 archives.
  2663.     rm -f ark[1-9]isdone
  2664. else
  2665.     echo You still need to unpack the following archives:
  2666.     echo "        " ${MISSING}
  2667. fi
  2668. ##  End of shell archive.
  2669. exit 0
  2670.